#include <opencv2/core/core.hpp>
#pragma once


class KalmanFilter
{	

public:
	cv::Mat A;
	cv::Mat H;
	cv::Mat P;
	cv::Mat Q;
	cv::Mat R;
	cv::Mat X;
	cv::Mat Z;

	cv::Mat K;
	cv::Mat I;

	cv::vector<cv::Point> xVector;
	cv::vector<cv::Point> zVector;

	KalmanFilter::KalmanFilter(int Nparams,float pError ,float qError ,float rError );
	virtual KalmanFilter::~KalmanFilter(void);
	void KalmanFilter::filter();
	void KalmanFilter::drawTrack(cv::Mat &Img,cv::Point z,cv::Point x);
};

